package main

import "fmt"

// 定义操作结构体
type Operation struct {
	num1 int
	num2 int
}

// 定义加法结构体
type AddOperation struct {
	Operation //自动继承父结构体成员
}

// 子类操作方法
func (add AddOperation) Operate() int {
	return add.num1 + add.num2
}

// 减法结构体
type SubOperation struct {
	Operation
}

func (sub SubOperation) Operate() int {
	return sub.num1 - sub.num2
}

//主方法
func main() {
	// 创建加法结构体
	var addOperation AddOperation
	// 给成员赋值
	addOperation.num1 = 11
	addOperation.num2 = 22
	// 调用操作方法并接收结果
	t := addOperation.Operate()
	fmt.Println(t)
}
